Verification of Source Code Transformations by Program Equivalence Checking

نویسندگان

  • K. C. Shashidhar
  • Maurice Bruynooghe
  • Francky Catthoor
  • Gerda Janssens
چکیده

Typically, a combination of manual and automated transformations is applied when algorithms for digital signal processing are adapted for energy and performance-efficient embedded systems. This poses severe verification problems. Verification becomes easier after converting the code into dynamic single-assignment form (DSA). This paper describes a method to prove equivalence between two programs in DSA where subscripts to array variables and loop bounds are (piecewise) affine expressions. For such programs, geometric modeling can be used and it can be shown, for groups of elements at once, that the outputs in both programs are the same function of the inputs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

PATH BASED EQUIVALENCE CHECKING OF PETRI NET REPRESENTATION OF PROGRAMS FOR TRANSLATION VALIDATION Soumyadip Bandyopadhyay PATH BASED EQUIVALENCE CHECKING OF PETRI NET REPRESENTATION OF PROGRAMS FOR TRANSLATION VALIDATION

A user written application program goes through significant optimizing and parallelizing transformations, both (compiler) automated and human guided, before being mapped to an architecture. Formal verification of these transformations is crucial to ensure that they preserve the original behavioural specification. The PRES+ model (Petri net based Representation of Embedded Systems) encompassing ...

متن کامل

Functional Equivalence Checking for Verification of Transformations on Array-Intensive Programs

Development of energy and performance-efficient embedded software, for mobile computing and communicating systems, is increasingly relying on application of complex transformations on the critical parts of the source code. Typically, these transformations are applied on the algorithmic kernels in the software, for example, signal processing algorithms, numerical methods etc. The transformations...

متن کامل

Automatic Verification of Source Code Transformations on Array-Intensive Programs: Demonstration with Real-life Examples

We have recently developed a method for verification of source code transformations applied on array-intensive programs typically found in signal processing and high performance computing applications. The method is based on checking the equivalence of the original and the transformed programs belonging to a decidable class that is still of practical interest. In this report, using a prototype ...

متن کامل

Efficient Automatic Verification of Loop and Data-flow Transformations by Functional Equivalence Checking

Thesis — Automatic and efficient verification of loop and data-flow transformations commonly applied while optimizing digital signal processing and scientific computing programs is feasible by functional equivalence checking of the original and transformed programs. Application of transformations, in general, is known to enable efficient implementation of programs. For resource constrained embe...

متن کامل

Compiler Validation by Program Analysis of the Cross-Product

The paper presents a deductive framework for proving program equivalence and its application to automatic verification of transformations performed by optimizing compilers. To leverage existing program analysis techniques, we reduce the equivalence checking problem to analysis of one system a cross-product of the two input programs. We show how the approach can be effectively used for checking ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005